#ifndef APPEARANCE_H
#define APPEARANCE_H

#include <QWidget>
#include "ISettingsView.h"

namespace Ui {
    class Appearance;
}

class Appearance : public ISettingsView
{
    Q_OBJECT

public:
    explicit Appearance(QWidget *parent = 0);
    virtual ~Appearance();
public:
    virtual QString displayName();
    virtual QIcon icon();
    virtual void save();
private:
    void updateVisualTheme();
    void updateFont();
    void updateMonoFont();
    void rebuildStylesList(const QString & name = "");
private slots:
    void onSelFont();
    void onSelMonoFont();
    void onLexerChanged(const QString& name);
    void onThemeEdit();
    void onThemeChanged(int);
    void onThemeAdd();
    void onThemeDelete();
private:
    Ui::Appearance *ui;
    QFont _curentFont, _curentMonoFont;
    QStringList _themesToSave;
};

#endif // APPEARANCE_H
